package com.aorise.model.expose;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import org.springframework.validation.annotation.Validated;

import javax.validation.constraints.NotNull;

/**
 * @Auther: zhouhao
 * @Date: 2019/7/11
 * @Description:    自动重合闸状态
 */
@Validated
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value="ESW",description="自动重合闸状态")
public class ESW {

    @ApiModelProperty(value = "连接状态,正常:0,通讯失败1",example = "30",dataType = "int")
    @NotNull(message = "连接状态不能为空")
    private Integer com;

    @ApiModelProperty(value = "分闸: OFF,合闸: ON")
    @NotNull(message = "分闸不能为空")
    private String Status;

    @ApiModelProperty(value = "市电输入电压值   (单位V)",dataType = "int")
    @NotNull(message = "市电输入电压值 不能为空")
    private Integer AC220;

    @ApiModelProperty(value = "市电输入电流电值   (单位A)")
    @NotNull(message = "市电输入电流电值不能为空")
    private Float Irms;

    @ApiModelProperty(value = "漏电流值 (单位mA)")
    @NotNull(message = "漏电流值不能为空")
    private Float Leak;

    @ApiModelProperty(value = "正常:0,电源过流:1",example = "30",dataType = "int")
    @NotNull(message = "OC不能为空")
    private Integer OC;

    @ApiModelProperty(value = "正常:0,电源过压:1",example = "30",dataType = "int")
    @NotNull(message = "OV不能为空")
    private Integer OV;

    public Integer getCom() {
        return com;
    }

    public void setCom(Integer com) {
        this.com = com;
    }

    @JsonProperty("Status")
    public String getStatus() {
        return Status;
    }

    @JsonProperty("Status")
    public void setStatus(String status) {
        Status = status;
    }

    @JsonProperty("AC220")
    public Integer getAC220() {
        return AC220;
    }

    @JsonProperty("AC220")
    public void setAC220(Integer AC220) {
        this.AC220 = AC220;
    }

    @JsonProperty("Irms")
    public Float getIrms() {
        return Irms;
    }

    @JsonProperty("Irms")
    public void setIrms(Float irms) {
        Irms = irms;
    }

    @JsonProperty("Leak")
    public Float getLeak() {
        return Leak;
    }

    @JsonProperty("Leak")
    public void setLeak(Float leak) {
        Leak = leak;
    }

    @JsonProperty("OC")
    public Integer getOC() {
        return OC;
    }

    @JsonProperty("OC")
    public void setOC(Integer OC) {
        this.OC = OC;
    }

    @JsonProperty("OV")
    public Integer getOV() {
        return OV;
    }

    @JsonProperty("OV")
    public void setOV(Integer OV) {
        this.OV = OV;
    }
}
